/*
 * GPSData.h
 *
 *  Created on: 27.6.2011.
 *      Author: Hetcheem
 */

#ifndef GPSDATA_H_
#define GPSDATA_H_

class GPSData
{
	unsigned m_hour, m_min, m_sec;
	double m_latitude, m_longitude;
	unsigned m_fixQuality;			// Fix quality: 0 = invalid
									//              1 = GPS fix (SPS)
									//              2 = DGPS fix
									//              3 = PPS fix
									//              4 = Real Time Kinematic
									//              5 = Float RTK
									//              6 = estimated (dead reckoning) (2.3 feature)
									//              7 = Manual input mode
									//              8 = Simulation mode
    unsigned m_numSatelitesInUse;	// Number of satellites being tracked
	double m_hdop;					// Horizontal dilution of position
	double m_altitude;				// Altitude (m) above mean sea level
	double m_geoidHeight;			// Height of geoid (m) above WGS84 ellipsoid

	double m_courseOverGround;
	double m_speedOverGround;
	double m_magneticVariation;
	
	unsigned long m_numSentences;
public:
	int ProcessGPGGA(char* sentence);
    int ProcessGPRMC(char* sentence);
};

#endif /* GPSDATA_H_ */
